#pragma once

#include "fxcc/mono/pch.h"

namespace mono
{
    struct FXCC_API Converter
    {
        template <typename T>
        bool Decode(MonoObject *source, T &t);

        template <typename T>
        bool Encode(MonoObject*& param, const T& t);

        template <typename T>
        bool SetVariable(MonoObject* source, const std::string& fieldName, const T& t);

        template <typename T>
        bool GetVariable(MonoObject* param, const std::string& fieldName, T& t);
    };
};
